<?php
/**
 * Created by PhpStorm.
 * User: lyh
 * Date: 2017/3/20
 * Time: 19:47
 */

namespace Admin\Controller;
use Think\Controller;

class CommonController extends Controller {
    public function __construct(){
        parent::__construct();

        //判断是否登录
       if(empty($_SESSION[C('USER_AUTH_KEY')])){
           $this->redirect("Login/index");
       }else{
           //当前控制器和方法
           $now_ac = CONTROLLER_NAME . "-" . ACTION_NAME;

           //过滤控制器和方法，避免用户非法请求
           //通过角色获得用户可以访问的控制器和方法信息
           $user = M('Admin')->where('id ='.session(C('USER_AUTH_KEY')))->find();
           if($user['id']){
               $role = M('Role')->where('role_id ='.$user['role_id'])->find();
               $auth_ac = $role['role_auth_ac'];
           }

           //默认权限得开启
           $allow_ac = array('Index-index');
           //判断$now_ac是否在$auth_ac中出现过
           if (!in_array($now_ac, $allow_ac) && $_SESSION[C('USER_AUTH_KEY')] != 1 && strpos($auth_ac,$now_ac) === false) {//没有权限。后面再次做了判断以免有错
               //获取所有权限功能
               $info = M('Auth')->select();
               $auth_arr = array();
               foreach ($info as $key => $value) {
                   $auth_arr[] = $value['auth_c'] . "-" . $value['auth_a'];
               }
               //如果当前访问的这个方法，在权限列表里面就阻止
               if (in_array($now_ac, $auth_arr)) {
                   $this->redirect('Index/index','', 2, '您没有权限访问！');
                   exit;
               }
           }

           //菜单目录
//           $this->getMenus();
       }


    }
}